//package com.ruoyi.electronicFence.core;
//
//import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
//import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
//import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
//import org.springframework.cache.annotation.EnableCaching;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.transaction.annotation.EnableTransactionManagement;
//
//@EnableCaching
//@EnableTransactionManagement
//@Configuration
//public class MyBatisPlusConfig {
//
//
//    /**
//     * 分页插件
//     * paginationInterceptor.setLimit(你的最大单页限制数量，默认 500 条，小于 0 如 -1 不受限制);
//     */
//    @Bean
//    public PaginationInterceptor paginationInterceptor() {
//        return new PaginationInterceptor();
//    }
//
//    /**
//     * 实现乐观锁
//     * 在实体类Integer字段上加@Version 即可
//     */
//    @Bean
//    public OptimisticLockerInterceptor optimisticLockerInterceptor() {
//        return new OptimisticLockerInterceptor();
//    }
////
////    @Bean
////    public ConfigurationCustomizer configurationCustomizer() {
////        return configuration -> {
////            // 添加自定义拦截器
////            Interceptor expected = new CustomStatementInterceptor();
////            Interceptor customResultSetInterceptor = new CustomResultSetInterceptor();
////            configuration.addInterceptor(expected);
////            configuration.addInterceptor(customResultSetInterceptor);
////        };
////    }
//
//
//
//   /*
//    *
//    *
//    实现乐观锁-3.4.0
//    @Bean
//    public MybatisPlusInterceptor optimisticLockerInterceptor() {
//        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
//        return interceptor;
//    }*/
//
//    /*
//     * 悲观锁（核心是 for update）
//     * select * from goods where id = 1 for update;
//     * update goods set stock = stock - 1 where id = 1;
//     */
//
//    /*
//     * 乐观锁 适用于读多写少的应用场景
//     * 悲观锁 适用于读少写多的应用场景
//     */
//
//
//    /*
//     * 开启二级缓存
//     * 1、配置文件增加 mybatis-plus.configuration.cache-enabled=true
//     * 2、启动类增加缓存注解 @EnableCaching
//     * 3、mapper层接口：加上缓存注解 @CacheNamespace
//     * 4、mapper.xml：增加 <cache/> 标签  在<mapper namespace="com.ktkj.init.mapper.CommonMapper">下面
//     *
//     */
//}
//
